package com.agileboot.domain.news.query;

import cn.hutool.core.util.StrUtil;
import com.agileboot.common.core.page.AbstractPageQuery;
import com.agileboot.domain.news.db.NewsInfo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * @author lx
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class NewsInfoQuery extends AbstractPageQuery<NewsInfo> {
    /**
     * 新闻id
     */
    @ApiModelProperty("新闻id")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 新闻标题
     */
    @ApiModelProperty("新闻标题")
    private String newsTitle;

    /**
     * 类型类型（1要文 2行业动态）
     */
    @ApiModelProperty("类型类型（1要文 2行业动态）")
    private Integer newsType;

    /**
     * 新闻资讯状态（1正常 0关闭）
     */
    @ApiModelProperty("新闻资讯状态（1正常 0关闭）")
    private Integer status;

    @Override
    public QueryWrapper<NewsInfo> addQueryCondition() {
        QueryWrapper<NewsInfo> queryWrapper = new QueryWrapper<NewsInfo>()
                .like(StrUtil.isNotEmpty(newsTitle), "news_title", newsTitle)
                .eq("deleted",0)
                .eq(newsType!=null, "news_type", newsType)
                .eq(status!=null, "status", status);
        return queryWrapper;
    }
}
